////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                                                            //
//                                                         WNProject                                                          //
//                                                                                                                            //
//            This file is distributed under the BSD 2-Clause open source license. See License.txt for details.               //
//                                                                                                                            //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef __WN_SCRIPT_VARIABLE_H__
#define __WN_SCRIPT_VARIABLE_H__

#include "WNScripting/inc/WNScriptingConfig.h"
#include "WNScripting/inc/WNTypeManager.h"
#include "WNScripting/inc/WNIdentifierMap.h"

struct WNScriptVariable {
    WNTypeElement mType;
    WNIdentifierElement mName;
    llvm::Value* mLlvmAlloca;
};

WN_BOOL __WN_INLINE WNIsValid(const WNScriptVariable& _var) {
    return(WNIsValid(_var.mName) && WNIsValid(_var.mType));
}

#endif // __WN_SCRIPT_VARIABLE_H__